//////////////////////////////////////////////
// ResourceGpuCopyDescriptor.h
//
//////////////////////////////////////////////

/// Defines / Macros -------------------------

#pragma once

/// Includes ---------------------------------

// nkGraphics
#include "../Dll/DllDefines.h"

/// Class ------------------------------------

namespace nkGraphics
{
	struct DLL_GRAPHICS_EXPORT ResourceGpuCopyDescriptor
	{
		// Si copie partielle, les paramètres pour la description de ce qu'on souhaite
		// Si les intervalles sont tous laissés à 0, alors une copie total de la sub resource spécifié est donnée
		unsigned int _srcSubResourceIndex = 0 ;
		unsigned int _srcStartX = 0 ;
		unsigned int _srcStartY = 0 ;
		unsigned int _srcStartZ = 0 ;
		unsigned int _srcEndX = 0 ;
		unsigned int _srcEndY = 0 ;
		unsigned int _srcEndZ = 0 ;

		unsigned int _destSubResourceIndex = 0 ;
		unsigned int _destStartX = 0 ;
		unsigned int _destStartY = 0 ;
		unsigned int _destStartZ = 0 ;

		// Le type de copie souhaité
		bool _partialCopy = false ;
	} ;
}